package home

import (
	"github.com/gogf/gf/frame/g"
	"github.com/gogf/gf/net/ghttp"
	newsModel "myblog/app/model/module/news"
	"myblog/app/service/home"
)

/*
  List
  @Description:文章列表
  @param r
*/
func List(r *ghttp.Request) {
	var req *newsModel.ListPageReq
	//获取参数
	if err := r.Parse(&req); err != nil {
		r.Response.RedirectTo("/404")
	}
	cateinfo, newslist, page, err := home.List(req)
	if err != nil || cateinfo == nil {
		r.Response.RedirectTo("/404")
	}
	r.Response.WriteTpl("home/"+cateinfo.ListTemplate, g.Map{
		"cateinfo": cateinfo,
		"newslist": newslist,
		"page":     page,
	})
}

/*
  Show
  @Description:文章显示
  @param r
*/
func Show(r *ghttp.Request) {
	var req *newsModel.ShowReq
	//获取参数
	if err := r.Parse(&req); err != nil {
		r.Response.RedirectBack(404)
	}
	cateinfo, newsinfo, _ := home.Show(req.Newsid)
	if newsinfo == nil {
		r.Response.RedirectBack(404)
	}
	r.Response.WriteTpl("home/"+cateinfo.ShowTemplate, g.Map{
		"cateinfo": cateinfo,
		"newsinfo": newsinfo,
	})
}

func AddViews(r *ghttp.Request)  {
	var req *newsModel.ShowReq
	//获取参数
	if err := r.Parse(&req); err != nil {
		r.Response.RedirectBack(404)
	}
	ip := r.GetClientIp()
	home.AddViews(req.Newsid,ip)

}
